package com.yiyahui.project.erp.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yiyahui.framework.aspectj.lang.annotation.Excel;
import com.yiyahui.framework.web.domain.BaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 病历对象 yiya_history_case
 * 
 * @author yiyahui
 * @date 2020-09-01
 */

@ApiModel(value="病历对象")
public class YiyaHistoryCase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 门诊患者id */
    @ApiModelProperty(value="门诊患者id")
    @Excel(name = "门诊患者id")
    private Long clinicPersonId;

    /** 预约id */
    @ApiModelProperty(value="预约id")
    @Excel(name = "预约id")
    private Long appointmentId;

    /** 医生 */
    @ApiModelProperty(value="医生")
    @Excel(name = "医生")
    private String doctor;

    /** 护士 */
    @ApiModelProperty(value="护士")
    @Excel(name = "护士")
    private String nurse;

    /** 就诊时间 */
    @ApiModelProperty(value="就诊时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "就诊时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date clinicTime;

    /** 就诊项目 */
    @ApiModelProperty(value="就诊项目")
    @Excel(name = "就诊项目")
    private String clinicProject;

    /** 就诊状态 1.预约 2.已挂号 3.治疗中 4.治疗完成 5.离开 6.失约 */
    @ApiModelProperty(value="就诊状态 1.预约 2.已挂号 3.治疗中 4.治疗完成 5.离开 6.失约")
    @Excel(name = "就诊状态 1.预约 2.已挂号 3.治疗中 4.治疗完成 5.离开 6.失约")
    private Integer clinicStatus;

    /** 类型 0.初诊病历 1.复诊病历 */
    @ApiModelProperty(value="类型 0.初诊病历 1.复诊病历")
    @Excel(name = "类型 0.初诊病历 1.复诊病历")
    private Integer type;

    /** 主述 */
    @ApiModelProperty(value="主述")
    @Excel(name = "主述")
    private String mainNarrate;

    /** 现病史 */
    @ApiModelProperty(value="现病史")
    @Excel(name = "现病史")
    private String nowMedicalHistory;

    /** 既往史 */
    @ApiModelProperty(value="既往史")
    @Excel(name = "既往史")
    private String passMedicalHistory;

    /** 牙位详情 */
    @ApiModelProperty(value="牙位详情")
    @Excel(name = "牙位详情")
    private String detail;

    /** 医嘱 */
    @ApiModelProperty(value="医嘱")
    @Excel(name = "医嘱")
    private String doctorAdvice;

    /** 备注 */
    @ApiModelProperty(value="备注")
    @Excel(name = "备注")
    private String remarks;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setClinicPersonId(Long clinicPersonId) 
    {
        this.clinicPersonId = clinicPersonId;
    }

    public Long getClinicPersonId() 
    {
        return clinicPersonId;
    }
    public void setAppointmentId(Long appointmentId) 
    {
        this.appointmentId = appointmentId;
    }

    public Long getAppointmentId() 
    {
        return appointmentId;
    }
    public void setDoctor(String doctor) 
    {
        this.doctor = doctor;
    }

    public String getDoctor() 
    {
        return doctor;
    }
    public void setNurse(String nurse) 
    {
        this.nurse = nurse;
    }

    public String getNurse() 
    {
        return nurse;
    }
    public void setClinicTime(Date clinicTime) 
    {
        this.clinicTime = clinicTime;
    }

    public Date getClinicTime() 
    {
        return clinicTime;
    }
    public void setClinicProject(String clinicProject) 
    {
        this.clinicProject = clinicProject;
    }

    public String getClinicProject() 
    {
        return clinicProject;
    }
    public void setClinicStatus(Integer clinicStatus) 
    {
        this.clinicStatus = clinicStatus;
    }

    public Integer getClinicStatus() 
    {
        return clinicStatus;
    }
    public void setType(Integer type) 
    {
        this.type = type;
    }

    public Integer getType() 
    {
        return type;
    }
    public void setMainNarrate(String mainNarrate) 
    {
        this.mainNarrate = mainNarrate;
    }

    public String getMainNarrate() 
    {
        return mainNarrate;
    }
    public void setNowMedicalHistory(String nowMedicalHistory) 
    {
        this.nowMedicalHistory = nowMedicalHistory;
    }

    public String getNowMedicalHistory() 
    {
        return nowMedicalHistory;
    }
    public void setPassMedicalHistory(String passMedicalHistory) 
    {
        this.passMedicalHistory = passMedicalHistory;
    }

    public String getPassMedicalHistory() 
    {
        return passMedicalHistory;
    }
    public void setDetail(String detail) 
    {
        this.detail = detail;
    }

    public String getDetail() 
    {
        return detail;
    }
    public void setDoctorAdvice(String doctorAdvice) 
    {
        this.doctorAdvice = doctorAdvice;
    }

    public String getDoctorAdvice() 
    {
        return doctorAdvice;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("clinicPersonId", getClinicPersonId())
            .append("appointmentId", getAppointmentId())
            .append("doctor", getDoctor())
            .append("nurse", getNurse())
            .append("clinicTime", getClinicTime())
            .append("clinicProject", getClinicProject())
            .append("clinicStatus", getClinicStatus())
            .append("type", getType())
            .append("mainNarrate", getMainNarrate())
            .append("nowMedicalHistory", getNowMedicalHistory())
            .append("passMedicalHistory", getPassMedicalHistory())
            .append("detail", getDetail())
            .append("doctorAdvice", getDoctorAdvice())
            .append("remarks", getRemarks())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
